﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using SubSys_SimDriving;
using SubSys_SimDriving.TrafficModel;
using SubSys_SimDriving.RoutePlan;

namespace SubSys_SimDriving.TrafficModel
{
	public class MobileSimulator
	{

		internal static Color GetRandomColor()
		{
			Random RandomNum_First = new Random((int)DateTime.Now.Ticks);
			//  对于C#的随机数，没什么好说的
			//     System.Threading.Thread.Sleep(RandomNum_First.Next(50));
			Random RandomNum_Sencond = new Random((int)DateTime.Now.Ticks);
			//  为了在白色背景上显示，尽量生成深色
			int int_Red = RandomNum_First.Next(256);
			int int_Green = RandomNum_Sencond.Next(256);
			int int_Blue = (int_Red + int_Green > 400) ? 0 : 400 - int_Red - int_Green;
			int_Blue = (int_Blue > 255) ? 255 : int_Blue;
			return Color.FromArgb(int_Red, int_Green, int_Blue);
		}

		//--------------------------20160131--------------------------------------	
		public static MobileEntity MakeMobile(EdgeRoute route,StaticEntity container)
		{
			SmallCar mobile = new SmallCar(container);
			mobile.Color = MobileSimulator.GetRandomColor();
			//mobile.Color = Color.Red;
			
			mobile.Route = route;
						
			mobile.Container = container;
			
			return mobile;
		}
	}
}